package com.zzyl.mapper;

import com.github.pagehelper.Page;
import com.zzyl.entity.Role;
import com.zzyl.entity.RoleResource;
import com.zzyl.vo.RoleVo;
import org.apache.ibatis.annotations.Mapper;

import java.util.ArrayList;
import java.util.List;

@Mapper
public interface RoleMapper {

    /**
     * 分页查询角色信息
     * @param role
     * @return
     */
    Page<Role> querPage(Role role);

    /**
     * 角色添加
     * @param role
     */
    void addRole(Role role);

    /**
     * 根据角色查询选中的资源数据
     * @param roleId
     * @return
     */
    List<String> findCheckedResources(Long roleId);

    /**
     * 角色修改+启用禁用
     * @param role
     */
    void updateRole(Role role);

    /**
     * 删除角色资源关联表数据
     * @param id
     */
    void deleteRoleResource(Long roleId);
    //批量插入角色资源关联表数据
    void batchInsert(ArrayList<RoleResource> roleResources);

    /**
     * 角色删除
     * @param roleId
     */
    void deleteRole(Long roleId);

    /**
     * 角色下拉框
     * @return
     */
    List<RoleVo> roleDropdownMenu();

    List<RoleVo> findRoleVoListInUserId(List<Long> userIds);
}
